package com.wk.service;

import com.wk.pojo.Course_exam;
import com.wk.pojo.Coursetype;
import com.wk.pojo.Error_book;
import com.wk.pojo.Item_type;
import org.apache.poi.xwpf.usermodel.XWPFDocument;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

public interface Itemservice {
    //显示出试题库类型有多少种
    public List<Item_type> selectbyitemtype();

    //显示出有多少章节
    public List<Coursetype> selectbyallcoursetype();

    //根据题型类型显示出对应的习题
    public List<Map<String,Object>> selectbyitemexam(Integer type_id);

    //根据章节题型显示出对应的习题
    public List<Course_exam> selectbychapterexam(Integer coursetype_id);

    //根据题型类型以及user_id获得对应的习题
    public List<Course_exam> selectbymyitems(Integer type_id, Integer user_id);

    //添加习题库的选择题习题提交
    public void insertintomyitem(Course_exam exam);

    //让这一类型的题目加一
    public void updatebyitemtype(Integer id);

    //删除后，让这一类型题目减一
    public void deletebyitemtype(Integer id);

    //实现习题库的选择题更新
    public void updatebymyitemtest(Course_exam exam);

    //实现习题库的问答题更新
    public void updatebymyitemessay(Course_exam exam);

    //加入错题本
    public void insertintomyerrorbook(Course_exam exam);

    //显示我的错题本
    public List<Map<String,Object>> selectbymyerrorbook(Integer user_id);

    //删除我的错题本
    public void deletebymyerrorbook(Integer id);

    //对应不同的题型，答应出word文档
    public List<Course_exam> selectbyitems_word(Integer type_id);

    //直接打印成word文档
    public void exportword(XWPFDocument document, HttpServletResponse response, String fileName)throws Exception;

    //打印出自己的习题导出word文档
    public List<Error_book> selectbymyerrorbook_word(Integer user_id);

    //对应不同的章节，打印出word文档
    public List<Course_exam> selectbyitemschapter_word(Integer coursetype_id);
}
